import axios from 'axios'
import { useUserStore } from '@/stores/user.js'
import router from '@/router'


//接口请求配置
const instance = axios.create({
  baseURL: 'http://26.34.11.26:9000/yanzhi',  //后端的接口基地址
  // baseURL: 'http://localhost:3004',  //json-server数据模拟接口的基地址
  timeout: 5000  //超时时间
})

// 添加请求拦截器
instance.interceptors.request.use(
  (config) => {
    const userStore = useUserStore()
    if (userStore.token) {//如果userStore含有token，统一在这里添加到请求头
      //请求头携带token
      config.headers.Authorization = userStore.token
    }
    return config
  },
  (err) => Promise.reject(err)
)



// 添加响应拦截器
instance.interceptors.response.use(
  (res) => {
    if (res.data.code === 1000) {
      return res.data
    }
    console.log(res )
    ElMessage.error(res.data.msg || '请求服务异常')
    return Promise.reject(res)   //异步操作的状态转换为失败
   
    
  },
  (err) => {
    // 对响应错误做点什么
    console.log(err)
    if (err.response?.status == 401) {
      ElMessage.error('请先登录')
      router.push('/login')

    }else{
      ElMessage({
        message: '服务异常',
        type: 'error'
      })
    }
    return Promise.reject(err)
  }
)

export default instance